Linux sudo命令和sudoers文件 |
您所在的位置:网站首页 › linux 查看文件在哪 › Linux sudo命令和sudoers文件 |
一、sudo命令的作用
sudo命令的作用是临时提升当前用户的权限,以使用只有目标用户才能使用的命令,并在命令使用结束后恢复到当前用户权限。最常见的是用来临时使用root才能执行的命令。 su的作用是切换到另一个用户,sudo的作用是临时使用另一个用户的命令 二、用法 sudo -u使用时,如果不加-u参数,则sudo默认执行root命令。 三、sudoers文件详解系统:Debian 3.16.0,DC-2靶机 /etc/sudoers是sudo的配置文件,可配置某个普通用户可以使用的sudo命令 1 . sudo -l :查看当前用户可使用的sudo命令 2 . 切换至root,cat /etc/sudoers查看sudoers文件 它们其实都是一样的格式, 通过编辑sudoers文件,在其中增删类似格式的配置项,就可以增减用户可执行的sudo命令 3 . sudo配置项的完整格式为 用户/组1 主机 = ( [用户] : [用户组] ) [是否需要密码验证:]命令1,[是否需要密码验证:]:命令2…… 用户/组1: 表示需要提升权限的用户/组,前面加%表示组,不加表示用户 主机: 表示用户在哪台主机登录时可以使用该条sudo,配置时参数为主机名,ALL表示任意主机 [用户]: 表示提升到该用户的权限,ALL表示任意用户 [用户组]: 表示提升到该用户组的权限,ALL表示任意用户组 ( [用户] : [用户组] ) : 该项可以省略,省略时相当于(root:root) [是否需要密码验证:] : 注意这个密码是当前用户密码。该项省略时表示需要密码,如无需验证,添加参数NOPASSWD 命令1: 表示需要sudo的命令,需要写全命令的绝对路。ALL表示所有命令 所以,跟jerry的sudo可执行命令相关的配置项为 jerry ALL=(ALL) ALL 对从任意设备登录系统的用户jerry,可sudo执行所有root命令 jerry ALL = (root) NOPASSWD: /usr/bin/git 对于从任意设备登录系统的用户jerry,无需输入密码,就可以sudo使用root命令git 4 .通配符以及取消命令 jerry ALL=/usr/bin/*,!/usr/bin/less 命令前面加上 ! 号表示取消该命令,后边加上 * 表示该路径下所有命令。该例子的意思: 对从任意设备登录系统的用户jerry,可sudo执行所有/usr/bin下的所有命令,但less除外 四、编辑sudoers文件1 . 直接vi编辑sudoers文件 示例:删除用户jerry可以sudo 执行所有root命令的配置 根据之前所述,删除sudoers中的jerry ALL=(ALL) ALL 配置项即可 ①查看sudoers文件权限 ls -l /etc/sudoers可以看到sudoers默认为只读文件 ②给sudoers文件增加写入权限 chmod u+w /etc/sudoers修改后root对该文件权限变为rw 删除jerry ALL=(ALL) ALL 示例:给jerry增加sudo more命令 ①使用which命令查看more命令绝对路径 which more可以看到绝对路径为/bin/more 示例:给jerry增加sudo less命令 ①直接使用vi在/etc/sudoers.d目录下创建一个test文件 vi /etc/sudoers.d/test写入jerry ALL =(root) NOPASSWD: /usr/bin/less,保存 ②切换为jerry,测试sudo less命令,添加成功 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |